When two network nodes are interfaced with each other over a network link, they typically do so through network interface cards (NICs) that are operable to provide the interface circuitry to allow for communication over various types of networks with varying data rates. However, when the NICs associated with network nodes on opposite ends of a network link are interfaced with each other, it is necessary that the two NICs communicate with each other in a compatible manner. Standards for the interconnection between NICs exists which define the communication protocol for transferring data there between. However, these standards continually evolve. Initially, Ethernet systems operated at a two Megabit rate, which later was replaced with a 10 Megabit rate. This evolved into a 100 Megabit rate and then into a 1,000 Megabit rate. However, each of the 10, 100 and 1,000 Megabit rates operate differently. When a network interconnection is effected, i.e., a cable is connected between two network interface cards, then a determination must be made as to the capabilities of the NIC on the other end of the communication link, the link partner. Some NICs may only operate at a 100 Megabit rate maximum whereas another NIC may operate at a 1,000 Megabit rate maximum. Thus, each NIC must define the common denominator as to the capabilities of the other NIC to determine how best to configure the link. This is facilitated with a feature called “Auto Negotiation.”
For Auto Negotiation, there are a number of provisions set forth within the standards applying thereto. The primary standard that is involved with network interconnections is IEEE 802.3, which sets forth in Clause 28 thereof one type of Auto Negotiation termed “parallel detect” Auto Negotiation. This particular type of Auto Negotiation is utilized with CAT5 interconnections which facilitates a number of different modes. Another clause, Clause 37, is associated with fiber transmission, which is a serial transmission mode. This Auto Negotiation procedure of Clause 37 differs from Clause 28 Auto Negotiation in that Clause 37 Auto Negotiation does not allow for communication in certain states of the Auto Negotiation.
In Clause 37 Auto Negotiation, it is required for communication between two interfaces that Auto Negotiation either be enabled on both ends or disabled on both ends. Therefore, when a local interface, at the physical layer level, attempts to communicate with another interface, that associated with the link partner, at its physical layer level, the local interface will have its Auto Negotiation feature enabled and will expect that the link partner to have its Auto Negotiation enabled. If the Auto Negotiation is disabled on the link partner, there is no provision in Clause 37 for there to be communication between the two ends of the link. There are situations where Auto Negotiation is disabled, this existing when the link partner and local side of the link have a known communications configuration. This can be hard coded in both sides of the link. For example, when a switch constitutes the local side of the communication link and has a fiber interface to allow communication over an optical fiber, that associated with Clause 37 Auto Negotiation, it can be expected that it will be connected to a link partner having a fiber interface. When both are configured with Auto Negotiation disabled, they will communicate. However, if an attempt is made to interface an unknown device with the switch wherein the unknown device has the Auto Negotiation enabled, then communication is not possible due to the fact that the fiber interface on the switch or local side operates in accordance with Clause 37 of the standard.